import { createRouter, createWebHistory } from 'vue-router'
import { showConfirmDialog } from "vant";

const routes = [
  {
    path: '/',
    name: 'Home',
    component: () => import('../views/Home.vue'),
    meta: {
      
    }
  },
  {
    path: '/booking',
    name: 'Booking',
    component: () => import('../views/Booking.vue')
  },
  {
    path: '/map',
    name: 'Map',
    component: () => import('../views/Map.vue')
  },
  {
    path: '/personal',
    name: 'Personal',
    component: () => import('../views/Personal.vue'),
    meta: {
      requireAuth: true
    }
  },
  {
    path: '/login',
    name: 'Login',
    component: () => import('../views/Login.vue'),
    meta: {
      title: '登录'
    }
  }, {
    path: '/register',
    name: 'Register',
    component: () => import('../views/Register.vue'),
    meta: {
      title: '注册'
    }
  },
  {
    path: '/newsDetail/:id',
    name: 'NewsDetail',
    component: () => import('../views/NewsDetail.vue')
  }
]
//requireAuth是否需要放行路由不需要验证的，直接放行
const router = createRouter({
  history: createWebHistory(),
  routes
})
// router.beforeEach((to, from, next) => {
//   if (to.name === 'Login') { // 路由条状到login的，直接放行
//     console.log(`${from.name}跳转到login`); // 控制台调试输出
//     next(); // 路由继续往下跳转
//     return;
//   }

//   if (!to.meta.requireAuth) { // 路由不需要验证的，直接放行
//     console.log(`${from.name}跳转到${to.name},目的路由不需要用户认证`); // 控制台调试输出
//     next();
//     return;
//   }

  
//   const token = localStorage.getItem('token')
//   if (!token) { // 如果token不存在的，则跳转登录login
//     console.log(`${from.name}跳转到${to.name},目的路由需要用户认证，Token不存在！强制跳转到login`); // 控制台调试输出
//     showConfirmDialog({
//       message: "没有Token,需要重新登录吗?",
//     }).then(() => {
//       // 需要登录，则跳转到登录login，并传递参数(登录后跳转的路由)
//       next({
//         name: 'Login',
//         query: { redirect: to.path }
//       });
//     }).catch(() => {
//       // 不需要登录，跳转到首页
//       router.push({ name: "Home" });
//     });
//     return;
//   }
//   console.log(`${from.name}跳转到${to.name},目的路由需要用户认证，Token也存在！`); // 控制台调试输出
//   // 其余情况，则路由放行
//   next(); //
// });
router.afterEach(() => {
  window.scrollTo(0, 0); // 滚动到页面顶部
});
export default router
